Companion experience

ABSTRACT

Various embodiments provide a so-called companion experience in which content consumed on a primary screen can serve as a source for an automatic search that returns related content that can be presented on an auxiliary screen. The companion experience can be considered to reside in a layer that can be moved across different screens. The different screens can include different physical screens, such as those associated with different computing devices, or the same physical screen in which the companion experience would be rendered in a frame or sub-window.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.15/688,568 entitled “COMPANION EXPERIENCE”, filed Aug. 28, 2017, whichis a continuation of U.S. application Ser. No. 12/750,172 entitled“COMPANION EXPERIENCE” filed Mar. 30, 2010, which has issued as U.S.Pat. No. 10,489,414, all of which are assigned to the assignee, andincorporated herein by reference in their entirety.

BACKGROUND

Many users like to multitask across different computing devices. Forexample, a user may consume content on one device and manually executesearches associated with the content on a different device. Consider ascenario in which a user is watching a football game on television andhas their laptop computer with them. The user may become interested insome aspect of the game, such as learning more about a particular team'sor player's statistics. If the user has a network connection, they canconduct an Internet search to discover information about the team's orplayer's statistics. As another example, assume that a user is playing agame on their gaming console and wishes to find out if there are any“cheat sheets” for the game. If they have a network connection andaccess to their laptop computer, they can conduct an Internet search toascertain whether there are any cheat sheets for the game.

Having to manually enter searches, as described above, can bedistracting for the user and can detract from the user's experience.

SUMMARY

Various embodiments provide a so-called companion experience in whichcontent consumed on a primary screen can serve as a source for anautomatic search that returns related content that can be presented onan auxiliary screen. The companion experience can be considered toreside in a layer that can be moved across different screens. Thedifferent screens can include different physical screens, such as thoseassociated with different computing devices, or the same physical screenin which the companion experience would be rendered in a frame orsub-window.

In at least some embodiments, devices can discover one another when theyare in proximity to each other and either automatically, or through auser prompt, initiate the companion experience. Once the devicesdiscover each other, communication between the devices can occur eitherthrough a peer-to-peer connection or through a network experience suchas a web service. As content is consumed on one device, informationassociated with the content can form the basis by which a search can beautomatically conducted by a search engine supported by the web service.Search results can then be returned and rendered on a different deviceto provide a companion experience.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of an environment in an example implementationin accordance with one or more embodiments.

FIG. 2 illustrates an example environment in accordance with one or moreembodiments.

FIG. 3 illustrates an example companion experience module in accordancewith one or more embodiments.

FIG. 4 is a flow diagram that describes steps in a method in accordancewith one or more embodiments.

FIG. 5 illustrates an example computing device that can be utilized toimplement various embodiments described herein.

DETAILED DESCRIPTION Overview

Various embodiments provide a so-called companion experience in whichcontent consumed on a primary screen can serve as a source for anautomatic search that returns related content that can be presented onan auxiliary screen. The companion experience can be considered toreside in a layer that can be moved across different screens. Thedifferent screens can include different physical screens, such as thoseassociated with different computing devices, or the same physical screenin which the companion experience would be rendered in a frame orsub-window. Any suitable computing device can serve to provide a primaryscreen. Likewise, any suitable computing device can serve to provide anauxiliary screen. In the example below, a computing device in the formof a television provides the primary screen. This example, however, isnot intended to limit the primary screen to a television. Rather, othercomputing devices can provide a primary screen as will become apparentbelow.

In at least some embodiments, devices can discover one another when theyare in proximity to each other and either automatically, or through auser prompt, initiate the companion experience. Once the devicesdiscover each other, communication between the devices can occur eitherthrough a peer-to-peer connection or through a network experience suchas a web service. As content is consumed on one device, informationassociated with the content can form the basis by which a search can beautomatically conducted by a search engine supported by the web service.Search results can then be returned and rendered on a different deviceto provide a companion experience. The search results can include anysuitable type of data that is returned including, by way of example andnot limitation, traditional search results that are typically returnedresponsive to a search conducted by a web search engine, aggregatedcontent, third party content and the like. Examples of such content areprovided below.

FIG. 1 illustrates a high level diagram of an example system generallyat 100 in accordance with one or more embodiments. In this example,system 100 includes a computing device 102 having a software module inthe form of a companion experience module 104 that operates as describedabove and below. Computing device 102 can be utilized to implement aso-called primary screen and/or an auxiliary screen. The primary andauxiliary screens can be implemented on the same device, or on differentdevices as will become apparent below.

The companion experience module 104 enables content that is consumed onthe primary screen to serve as the basis for a web search for additionalcontent that can be rendered on the auxiliary screen.

If computing device 102 includes a primary screen implementation, thecompanion experience module 104 can be configured to operate one or moreways to ensure that content consumed on a computing device can besearched. For example, in at least some embodiments, computing device102 can make information associated with the consumed content availablefor searching. The information can include, by way of example and notlimitation, media type (e.g., music, pictures, video, and television),current content (e.g., artist, album, track, tags, state for music),extended metadata, known queries, paid queries or content pointers, andthe like. The information can be made available by sending theinformation directly to a search engine supported by a web service. Thiswould be the situation when, for example, a single computing devicesupports both the primary and auxiliary screens. Alternately oradditionally, the information can be made available by sending theinformation to a different device supporting the auxiliary screen, withthe different device then sending the information to a search engine.Search results can then be returned and rendered on the auxiliaryscreen.

If computing device 102 includes an auxiliary screen implementation,companion experience module 104 can be configured to acquire informationfrom the primary screen associated with content that is consumed via theprimary screen. This can occur through either a pull or a push model.For example, the companion experience module 104 can query primaryscreen for information about content that is being currently consumed.Once the information is provided to the companion experience module ofthe auxiliary screen, the information can form the basis of a websearch. Alternately or additionally, the companion experience module ofthe auxiliary screen can have information pushed to it by the companionexperience module of the primary screen. This information can then formthe basis of a web search.

In the discussion that follows, a section entitled “Example Environment”describes an example environment in which the inventive principlesdescribed herein can be employed. Following this, a section entitled“Implementation Example” describes an implementation in accordance withone or more embodiments. Next, a section entitled “Example Method”describes an example method in accordance with one or more embodiments.Finally, a section entitled “Example Device” describes an example devicein accordance with one or more embodiments.

Having described the companion experience at a high level, consider nowa discussion of an example environment in which the inventive principlescan be employed.

Example Environment

FIG. 2 illustrates an example system showing the computing device 102,including the companion experience module 104 of FIG. 1 , as beingimplemented in an environment where multiple devices are interconnectedthrough a central computing device. The central computing device may belocal to the multiple devices or may be located remotely from themultiple devices. In one embodiment, the central computing device is a“cloud” server farm, which comprises one or more server computers thatare connected to the multiple devices through a network or the Internetor other means.

In one embodiment, this interconnection architecture enablesfunctionality to be delivered across multiple devices to provide acommon and seamless experience to the user of the multiple devices. Eachof the multiple devices may have different physical requirements andcapabilities, and the central computing device uses a platform to enablethe delivery of an experience to the devices that is both tailored tothe device and yet common to all devices. In one embodiment, a “class”of target device is created and experiences are tailored to the genericclass of devices. A class of device may be defined by physical featuresor usage or other common characteristics of the devices. For example,the computing device 102 may be configured in a variety of differentways, such as for mobile 202, computer 204, and television 206 uses.Each of these configurations has a generally corresponding screen sizeand thus the computing device 102 may be configured as one of thesedevice classes in this example system 200. For instance, the computingdevice 102 may assume the mobile 202 class of device which includesmobile telephones, music players, game devices, and so on. The computingdevice 102 may also assume a computer 204 class of device that includespersonal computers, laptop computers, netbooks, and so on. Thetelevision 206 configuration includes configurations of device thatinvolve display in a casual environment, e.g., televisions, set-topboxes, game consoles, and so on. Thus, the techniques described hereinare supported by these various configurations of the computing device102 and are not limited to the specific examples described in thefollowing sections.

Each of the different classes of device, i.e., the mobile 202 class, thecomputer 204 class, and the television 206 class, can support one orboth of the primary screen and the auxiliary screen as described aboveand below. Accordingly, if content is consumed by a user on television206, either or both of computer 204 class or mobile 202 class can serveas the auxiliary screen. Likewise, if content is consumed on computer204, either or both of mobile 202 class or television 206 class canserve as the auxiliary screen. Further, individual devices, as notedabove, can support both the primary screen and the auxiliary screen.Components of an example computing device are described below in FIG. 5.

Cloud 208 is illustrated as including a platform 210 for web services212. The platform 210 abstracts underlying functionality of hardware(e.g., servers) and software resources of the cloud 208 and thus may actas a “cloud operating system.” For example, the platform 210 mayabstract resources to connect the computing device 102 with othercomputing devices. The platform 210 may also serve to abstract scalingof resources to provide a corresponding level of scale to encountereddemand for the web services 212 that are implemented via the platform210. A variety of other examples are also contemplated, such as loadbalancing of servers in a server farm, protection against maliciousparties (e.g., spam, viruses, and other malware), and so on.

Thus, the cloud 208 is included as a part of the strategy that pertainsto software and hardware resources that are made available to thecomputing device 102 via the Internet or other networks.

In the illustrated and described embodiments, platform 210 and inparticular, web services 212 provide Internet and other searchingcapabilities for input that is provided by companion experience module104. To this end, web services 212 can include one or more searchengines that can search not only across the Internet, but acrossresources that may be distributed throughout the server farm.

Generally, any of the functions described herein can be implementedusing software, firmware, hardware (e.g., fixed logic circuitry), manualprocessing, or a combination of these implementations. The terms“module,” “functionality,” and “logic” as used herein generallyrepresent software, firmware, hardware, or a combination thereof. In thecase of a software implementation, the module, functionality, or logicrepresents program code that performs specified tasks when executed on aprocessor (e.g., CPU or CPUs). The program code can be stored in one ormore computer readable memory devices. The features of the techniquesdescribed below are platform-independent, meaning that the techniquesmay be implemented on a variety of commercial computing platforms havinga variety of processors.

Having described an example environment in accordance with one or moreembodiments, consider now an example that describes an implementation inaccordance with one or more embodiments.

Implementation Example

FIG. 3 illustrates an example companion experience module 104 inaccordance with one or more embodiments. In the illustrated anddescribed embodiment, the companion experience module 104 is configuredto support functionality associated with supporting both the primaryscreen and auxiliary screen experience. To this end, companionexperience module 104 can include, or otherwise make use of, a proximityawareness module 300, a user notification module 302, a communicationmodule 304, and a search builder module 306, each of which is describedbelow under its own respective heading.

Proximity Awareness Module

In the illustrated and described embodiment, the companion experiencecan be initiated or launched when two or more computing devices becomeaware that they are in proximity with one another. To this end,proximity awareness module 300 can ascertain proximity with respect toother devices and/or act on proximity information that it receives fromoutside the companion experience module 104. The proximity of awarenessmodule 300 can be implemented using any suitable type of technology suchas, by way of example and not limitation, infrared detection, Bluetoothdetection, network awareness of other devices connected to a commonnetwork, and the like. Alternately or additionally, the proximityawareness module 300 may report its location to a third-party service,such as a web service described above. The web service, in turn, maythen notify the companion experience module 104 when another computingdevice is in the proximity.

In one or more embodiments, proximity awareness functionality isperformed by the computing device that serves as the primary screen. Forexample, assume that a user is watching a television program on atelevision that serves as the primary screen. If the user happens tobring their laptop computer into proximity with the television, thetelevision would, through proximity awareness module 300, ascertain theproximity of the laptop computer.

User Notification Module

Once two or more devices ascertain that they are in proximity with oneanother, the user notification module 302 can be utilized to notify theuser that they can initiate a companion experience. This notificationcan be presented in the form of a suitable user interface that notifiesthe user that a companion experience is possible by virtue of theproximity of one or more computing devices. In the example just above,the television serving as the primary screen would present a userinterface to the user that prompts the user for a companion experience.If the user accepts, then the device serving as the auxiliary screen—inthis case a laptop computer—would launch its companion experience modulewhich can then be seeded with search content based on the content beingconsumed on the primary screen.

Communication Module

Once the devices have discovered one another by virtue of being inproximity with one another, the devices can communicate in any suitableway such as, by way of example and not limitation, through peer-to-peercommunication, through a third-party entity such as web service 212(FIG. 2 ) and the like.

The communication module 304 enables the device serving as the primaryscreen to report information to the device serving as the auxiliaryscreen, so that the auxiliary screen device can conduct a suitablesearch for additional content. Likewise, communication module 304enables the device serving as the auxiliary screen to receiveinformation from the device serving as the primary screen so that asearch can be conducted.

In one implementation, the device serving as the auxiliary screen cansubscribe to the primary screen (whether on the same device ordifferent) and listen for change events. The device serving as theauxiliary screen can also query the primary screen for new informationassociated with content that is being consumed on the primary screendevice. Such information can include, by way of example and notlimitation, media type, current content, metadata, known queries, paidqueries, content pointers and the like. For example, such informationcan include the title of a program, the time that the program is on andthe like. In addition, such information can include more granularinformation about the specific contents within a particular piece ofmedia, and timing information associated with when the content appearsin a piece of media. For example, the specific contents can include suchthings as a song that happens to be playing in a television program, aparticular actor, a current game level in a game that is being played,and the like. It is to be appreciated and understood, however, thatcontent being consumed on the primary screen need not necessarilyconstitute entertainment content such as television programs, pictures,music, videos, movies, and/or gaming. Rather, the content that is beingconsumed on the primary screen can comprise any type of content such as,by way of example and not limitation, e-mail content, applicationcontent, webpage content, and the like. For example, a user may conductan Internet search for “Hawaii vacations” on the primary screen and theauxiliary screen, via the companion experience, may show travel dealsavailable from Bing™ Travel on Hawaii. Alternately or additionally, theuser may be looking an at email about mountain biking on the primaryscreen, and the auxiliary screen, via the companion experience, may showphotos pertaining to mountain biking. These photos may constitute whatcan be considered as typical search results that are returned from anInternet search engine. Alternately or additionally, the photos mayconstitute aggregated content that is available from a third party.

Once the auxiliary screen device receives this information viacommunication module 304, it can employ the search builder module 306 asdescribed below.

Search Builder Module

When the auxiliary screen device receives the information from theprimary screen device, it can formulate a search query that is thenprovided to a suitably-configured web service that includes a searchengine. Any suitable search engine can be used. For example, Microsoft'sBing™ search engine constitutes but one example of a search engine thatcan be utilized. Search results that are returned from the search enginecan then be rendered on the device serving as the auxiliary screen. Thedevice serving as the auxiliary screen can use timing information thatit received from the device serving as the primary screen in order toknow when to render the search results. In the event that one deviceserves as both the primary and the auxiliary screen, the search resultscan be rendered in a frame or sub-window on the device.

It is to be appreciated and understood that the search results that arereturned from the search engine can be pivoted in any suitable way. Forexample, the search results can include or be pivoted to expose webresults, video, images, shopping-related information, and the like.Furthermore, the search results can include content such as editorialsor data that may have been purchased for specific topics. Thus, theremay be a situation in which a person is watching a video on televisionand a companion experience returns data including related artists,history, and the like. Thus, the information returned in a search maynot simply constitute information that was gleaned from the web in a webcrawl. Rather, such information may include third-party editorialcontent or data that was purchased for the purpose of being returnedresponsive to a search. In addition, returned content can also includeadvertisements, annotated community content (such as Wiki content) andthe like.

Example Method

FIG. 4 is a flow diagram that describes steps in a method in accordancewith one or more embodiments. The method can be implemented inconnection with any suitable hardware, software, firmware, orcombination thereof. In at least some embodiments, aspects of the methodand particularly, the companion experience, can be implemented by acompanion experience module such as the module described above. The flowdiagram depicts two columns, one designated “Primary Screen” and theother designated “Auxiliary Screen.” The functionality appearing in aparticular column is, in this example, intended to be performed by acomputing device that serves as either or both of the primary orauxiliary screens.

Step 400 ascertains the proximity of one or more computing devices. Anysuitable technique can be used to ascertain proximity, examples of whichare provided above. In one or more embodiments, proximity can includegeographic proximity. Responsive to ascertaining the proximity of thecomputing device(s), step 402 prompt a user for a companion experience.If, at step 404, the user declines the companion experience, step 406terminates the method.

If, on the other hand, at step 404 the user opts for the companionexperience, step 408 launches a companion experience module on thecomputing device that serves as the auxiliary screen.

Step 410 transmits information associated with content that is beingconsumed on the primary screen to the auxiliary screen. Transmission canoccur between different devices and/or within a common device thatserves as both the primary and auxiliary screen.

Step 412 receives the information associated with the content beingconsumed on the primary screen and step 414 formulates a search queryusing the information. Step 416 transmits the search query to a searchengine and step 418 receives search results back from the search engine.Step 420 renders additional content using the search results. Examplesof information that can be rendered in or on the auxiliary screen areprovided above.

The above-described method can be utilized to enable an automatedcompanion experience that relieves the user of having to manually entersearch terms associated with content that is being consumed on theprimary screen. As content changes on the primary screen, so too doesthe companion content by virtue of the automatic transmission ofinformation from the primary screen to the auxiliary screen. Inaddition, the companion experience can be provided with respect toindividual applications or on different devices.

Example Device

FIG. 5 illustrates various components of an example device 500 that canbe implemented as any type of portable and/or computer device asdescribed with reference to FIGS. 1 and 2 to implement embodiments ofthe companion experience described herein. Device 500 includescommunication devices 502 that enable wired and/or wirelesscommunication of device data 504 (e.g., received data, data that isbeing received, data scheduled for broadcast, data packets of the data,etc.). The device data 504 or other device content can includeconfiguration settings of the device, media content stored on thedevice, and/or information associated with a user of the device. Mediacontent stored on device 500 can include any type of audio, video,and/or image data. Device 500 includes one or more data inputs 506 viawhich any type of data, media content, and/or inputs can be received,such as user-selectable inputs, messages, music, television mediacontent, recorded video content, and any other type of audio, video,and/or image data received from any content and/or data source.

Device 500 also includes communication interfaces 508 that can beimplemented as any one or more of a serial and/or parallel interface, awireless interface, any type of network interface, a modem, and as anyother type of communication interface. The communication interfaces 508provide a connection and/or communication links between device 500 and acommunication network by which other electronic, computing, andcommunication devices communicate data with device 500.

Device 500 includes one or more processors 510 (e.g., any ofmicroprocessors, controllers, and the like) which process variouscomputer-executable or readable instructions to control the operation ofdevice 500 and to implement the companion experience embodimentsdescribed above. Alternatively or in addition, device 500 can beimplemented with any one or combination of hardware, firmware, or fixedlogic circuitry that is implemented in connection with processing andcontrol circuits which are generally identified at 512. Although notshown, device 500 can include a system bus or data transfer system thatcouples the various components within the device. A system bus caninclude any one or combination of different bus structures, such as amemory bus or memory controller, a peripheral bus, a universal serialbus, and/or a processor or local bus that utilizes any of a variety ofbus architectures.

Device 500 also includes computer-readable media 514, such as one ormore memory components, examples of which include random access memory(RAM), non-volatile memory (e.g., any one or more of a read-only memory(ROM), flash memory, EPROM, EEPROM, etc.), and a disk storage device. Adisk storage device may be implemented as any type of magnetic oroptical storage device, such as a hard disk drive, a recordable and/orrewriteable compact disc (CD), any type of a digital versatile disc(DVD), and the like. Device 500 can also include a mass storage mediadevice 516.

Computer-readable media 514 provides data storage mechanisms to storethe device data 504, as well as various device applications 518 and anyother types of information and/or data related to operational aspects ofdevice 500. For example, an operating system 520 can be maintained as acomputer application with the computer-readable media 514 and executedon processors 510. The device applications 518 can include a devicemanager (e.g., a control application, software application, signalprocessing and control module, code that is native to a particulardevice, a hardware abstraction layer for a particular device, etc.). Thedevice applications 518 also include any system components or modules toimplement embodiments of the companion experience described herein. Inthis example, the device applications 518 include an interfaceapplication 522 and a companion experience module 524 that are shown assoftware modules and/or computer applications. The companion experiencemodule 524 is representative of software that is used to provide thefunctionality that is described above.

Device 500 also includes an audio and/or video input-output system 526that provides audio data to an audio system 528 and/or provides videodata to a display system 530. The audio system 528 and/or the displaysystem 530 can include any devices that process, display, and/orotherwise render audio, video, and image data. Video signals and audiosignals can be communicated from device 500 to an audio device and/or toa display device via an RF (radio frequency) link, S-video link,composite video link, component video link, DVI (digital videointerface), analog audio connection, or other similar communicationlink. In an embodiment, the audio system 528 and/or the display system530 are implemented as external components to device 500. Alternatively,the audio system 528 and/or the display system 530 are implemented asintegrated components of example device 500.

CONCLUSION

Various embodiments provide a so-called companion experience in whichcontent consumed on a primary screen can serve as a source for anautomatic search that returns related content that can be presented onan auxiliary screen. The companion experience can be considered toreside in a layer that can be moved across different screens. Thedifferent screens can include different physical screens, such as thoseassociated with different computing devices, or the same physical screenin which the companion experience would be rendered in a frame orsub-window.

In at least some embodiments, devices can discover one another when theyare in proximity to each other and either automatically, or through auser prompt, initiate the companion experience. Once the devicesdiscover each other, communication between the devices can occur eitherthrough a peer-to-peer connection or through a network experience suchas a web service. As content is consumed on one device, informationassociated with the content can form the basis by which a search can beautomatically conducted by a search engine supported by the web service.Search results can then be returned and rendered on a different deviceto provide a companion experience.

Although the embodiments have been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the embodiments defined in the appended claims are not necessarilylimited to the specific features or acts described. Rather, the specificfeatures and acts are disclosed as example forms of implementing theclaimed embodiments.

1-20. (canceled)
 21. A method comprising: displaying first content on ascreen of a computing device; initiating a companion experience relatingto the first content, the companion experience involving: conducting asearch based on the first content displayed on the screen of thecomputing device to obtain second content; and displaying the secondcontent in a frame or sub-window on the screen of the computing device.22. The method of claim 21, wherein the companion experience isinitiated in response to user input.
 23. The method of claim 21, whereinthe companion experience is initiated automatically.
 24. The method ofclaim 21, wherein the search is conducted using a search queryassociated with the first content.
 25. The method of claim 24, furthercomprising: automatically sending the search query to a search enginesupported by a web service; receiving search results related to thefirst content from the search engine in response to the search query;and rendering and updating the search results in the frame or sub-windowas the first content is being rendered on the screen.
 26. The method ofclaim 25, further comprising: formulating the search query based on thefirst content.
 27. The method of claim 25, wherein the search resultsinclude video relating to the first content.
 28. A computing devicecomprising: a screen; one or more processors; and one or more memorieshaving instructions stored thereon that, when executed by the one ormore processors, cause the computing device to: display first content onthe screen of the computing device; initiate a companion experiencerelating to the first content, the companion experience involving:conducting a search based on the first content displayed on the screenof the computing device to obtain second content; and displaying thesecond content in a frame or sub-window on the screen of the computingdevice.
 29. The computing device of claim 28, wherein the companionexperience is initiated in response to user input.
 30. The computingdevice of claim 28, wherein the companion experience is initiatedautomatically.
 31. The computing device of claim 28, wherein the searchis conducted using a search query associated with the first content. 32.The computing device of claim 31, wherein the instructions, whenexecuted by the one or more processors, cause the computing device to:automatically send the search query to a search engine supported by aweb service; receive search results related to the first content fromthe search engine in response to the search query; and render and updatethe search results in the frame or sub-window as the first content isbeing rendered on the screen.
 33. The computing device of claim 32wherein the instructions, when executed by the one or more processors,cause the computing device to: formulate the search query based on thefirst content.
 34. The computing device of claim 33, wherein the searchresults include video relating to the first content.
 35. One or morecomputer-readable storage media comprising instructions stored thereonthat, responsive to execution by a processor of a computing device,perform operations comprising: displaying first content on a screen ofthe computing device; initiating a companion experience relating to thefirst content, the companion experience involving: conducting a searchbased on the first content displayed on the screen of the computingdevice to obtain second content; and displaying the second content in aframe or sub-window on the screen of the computing device.
 36. The oneor more computer-readable storage media of claim 35, wherein thecompanion experience is initiated in response to user input.
 37. The oneor more computer-readable storage media of claim 35, wherein thecompanion experience is initiated automatically.
 38. The one or morecomputer-readable storage media of claim 35, wherein the search isconducted using a search query associated with the first content. 39.The one or more computer-readable storage media of claim 38, theoperations further comprising: automatically sending the search query toa search engine supported by a web service; receiving search resultsrelated to the first content from the search engine in response to thesearch query; and rendering and updating the search results in the frameor sub-window as the first content is being rendered on the screen. 40.The one or more computer-readable storage media of claim 39, theoperations further comprising: formulating the search query based on thefirst content.